#ifndef __REG_EXP_IMPL_H__
#define __REG_EXP_IMPL_H__

#include <string>
#include <interface/regexp_interface.h>

class reg_exp_impl : public aot::utility::ireg_exp
{
public:
    reg_exp_impl(void);
public:
    virtual ~reg_exp_impl(void);
public:
    virtual bool is_match(const char* check_word,const char* pattern);
    virtual bool get_matched_string(aot::tt::ivec_str** matched_strings, const char* check_word, const char* pattern);
    virtual bool get_matched_string(aot::tt::istr** matched_string, const char* check_word, const char* pattern);
    
	virtual int get_pbx_phone_num(const char* src_tel, aot::tt::istr** out_tel, aot::tt::istr** err_msg);
	
	virtual void set_pbx_pre_num( const char* tata);
protected:
    std::string append_pre_num(const std::string& src, const std::string& default = "0");
protected:
    std::string tata_;
};

#endif //__REG_EXP_IMPL_H__